package dao;

import java.util.List;

import modle.UserInformation;

/**
 * 1、用户个人信息的DAO
 * 2、包括将个人信息写入存储空间、获取用户的个人信息、修改用户积分、获取所有用户对象
 * 
 * @author Lzx
 *
 */
public interface UserInformationDAO {
	/**
	 * 该方法用于将用户的个人信息写入文件或者数据库等各种数据存储
	 * 
	 * @param userInformation 用户个人信息对象
	 * @return boolean
	 * 
	 */
	public boolean writeUserInformation(UserInformation userInformation);
	/**
	 * 该方法用于从各种数据存储的地方获取用户的个人信息，并返回一个用户的个人信息对象
	 * 
	 * @param account 用户的账号
	 * @return UserInformation
	 * 
	 */
	public UserInformation readUserInformation(String account);
	/**
	 * 该方法用于对存储中的数据里对应的用户的积分进行更改
	 * 
	 * @param account 对应用户的账号
	 * @param change 改变的分数
	 * @return boolean
	 * 
	 */
	public boolean changeScore(String account , int change);
	/**
	 * 该方法用于获取存储中的所有用户信息，并根据用户的积分大小进行排序
	 * 
	 * @return List<UserInformation>
	 * 
	 */
	public List<UserInformation> readAllUserInformation();
}
